partition p xs = (filter p xs, filter (\x -> not $ p x) xs)
partition2 p xs = (filter p xs, filter (not $ p) xs)